package com.mdd.validate.agreement;

import lombok.Data;

/**
 * TODO
 * <p>
 * {@code @Description}
 * @Author 幻速
 * {@code @Date} 2023/10/30 20:24
 **/
@Data
public class SignInfo {
    /**
     * String	可选	64
     *     销售产品码，商户签约的支付宝合同所对应的产品码。
     *     GENERAL_WITHHOLDING
     */
   private String product_code;
    /**
     * String	可选	100
     *     用户在商户网站的登录账号，用于在签约页面展示，如果为空，则不展示
     * 13852852877
     */
    private String  external_logon_id;
    /**
     * String	必选	64
     *     个人签约产品码，商户和支付宝签约时确定，商户可咨询技术支持。
     *     GENERAL_WITHHOLDING_P
     */
    private String  personal_product_code;
    /**
     * String	可选	64
     *     协议签约场景，商户可根据 代扣产品常见场景值 选择符合自身的行业场景。
     *     说明：当传入商户签约号 external_agreement_no 时，本参数必填，不能为默认值 DEFAULT|DEFAULT。
     *     INDUSTRY|CARRENTAL
     */
    private String  sign_scene;
    /**
     * String	可选	32
     *     商户签约号，代扣协议中标示用户的唯一签约号（确保在商户系统中唯一）。
     *     格式规则：支持大写小写字母和数字，最长32位。
     *     商户系统按需自定义传入，如果同一用户在同一产品码、同一签约场景下，签订了多份代扣协议，那么需要指定并传入该值。
     *     test
     */
    private String  external_agreement_no;
    /**
     * String	可选	32
     *     签约第三方主体类型。对于三方协议，表示当前用户和哪一类的第三方主体进行签约。
     *     默认为PARTNER。
     *     枚举值
     *     平台商户: PARTNER
     *             PARTNER
     */
    private String  third_party_type;
    /**
     * String	可选	8
     *     当前用户签约请求的协议有效周期。
     *     整形数字加上时间单位的协议有效期，从发起签约请求的时间开始算起。
     *     目前支持的时间单位：
     *             1. d：天
     * 2. m：月
     *     如果未传入，默认为长期有效。
     *             2m
      */
    private String  sign_validity_period;
}
